package com.application.fabric.蓝桥杯;

import java.util.Scanner;

public class 第八题 {
    public static void main(String[] args) {
        /**
         * 　小蓝有一个 n * m 大小的矩形水域，小蓝将这个水域划分为 n 行 m 列，行数从 1 到 n 标号，列数从 1 到 m 标号。每行和每列的宽度都是单位 1 。
         * 　　现在，这个水域长满了水草，小蓝要清理水草。
         * 　　每次，小蓝可以清理一块矩形的区域，从第 r1 行（含）到第 r2 行（含）的第 c1 列（含）到 c2 列（含）。
         * 　　经过一段时间清理后，请问还有多少地方没有被清理过。
         * 输入格式
         * 　　输入第一行包含两个整数 n, m，用一个空格分隔。
         * 　　第二行包含一个整数 t ，表示清理的次数。
         * 　　接下来 t 行，每行四个整数 r1, c1, r2, c2，相邻整数之间用一个空格分隔，表示一次清理。请注意输入的顺序。
         * 输出格式
         * 　　输出一行包含一个整数，表示没有被清理过的面积。
         * 样例输入
         * 2 3
         * 2
         * 1 1 1 3
         * 1 2 2 2
         * */
        /*这题就简单多了
        * */
        int count=0;

        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        target = new int[n][m];
        int t = sc.nextInt();

        for (int i=0;i<t;i++){
            int r1 = sc.nextInt();
            int c1 = sc.nextInt();
            int r2 = sc.nextInt();
            int c2 = sc.nextInt();
            dealarr(r1-1,c1-1,r2-1,c2-1);
        }

        for (int i=0;i<n;i++){
            for (int j=0;j<m;j++){
               if (target[i][j] == 0){
                   ++count;
               }
            }
        }
        System.out.println(count);
    }

    static int[][] target;
    /*
    * 浅浅写一下逻辑
    * 我们可以构建n m 数组
    * 然后 r1,c1为一个点 r2,c2为一个点扫描矩形 被扫描到加1
    * */
    private static void dealarr(int r1,int c1,int r2,int c2){
        for (int i=r1;i<=r2;i++){
            for (int j=c1;j<=c2;j++){
                    target[i][j]++;
            }
        }
    }
}
